<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        //1. 逻辑与短路运算 如果表达式1 为真 那么返回表达式2;如果表达式1为假 那么返回表达式1
        console.log(123 && 456);//456
        console.log(0 && 456);//0
        console.log('' && 456 && 123);//''
        //如果有空或者否定的为假 其余是真的
        //0 '' null undefined NaN 这些都是假的

        //2.逻辑或短路运算 如果表达式1 结果为真 则返回表达式1;如果表达式1结果为假 那么返回表达式2
        console.log(123 || 456);//123
        console.log(123 || 456 || 456 + 123);//123
        console.log(0 || 456 || 123 + 456);//456 这边0为假 那么返回456 456为真 则返回表达式1（自身）
        //逻辑中断很重要 它会影响到我们程序运行结果
        var num = 0
        console.log(123 || num++);//123为真 返回表达式1 就是123  那么后面的num++就不会运行了 所以它的结果还是0
        console.log(num);//0
    </script>
</head>

<body>

</body>

</html>